<html lang="cn">
<head>
    <meta
            content="text/html; charset=utf-8"
            http-equiv="Content-Type"
    />
    <meta
            content="Mon, 20 Jan 2001 20:01:21 GMT"
            http-equiv="Expires"
    />
    <meta
            content="Robot 2.5.6 (Jython 2.5.1 on java1.6.0_01)"
            name="generator"
    />
    <style
            media="all"
            type="text/css"
    >
        /* Generic styles */
        body {
            font-family: sans-serif;
            font-size: 0.8em;
            color: black;
            padding: 6px;
        }

        h2 {
            margin-top: 1.2em;
        }

        br {
            mso-data-placement: same-cell;
            /* maintain line breaks in Excel */
        }

        /* Statistics Table */
        table.statistics {
            width: 58em;
            border: 1px solid black;
            border-collapse: collapse;
            empty-cells: show;
            margin-bottom: 1em;
        }

        table.statistics td,
        table.statistics th {
            border: 1px solid black;
            padding: 1px 4px;
            margin: 0px;
        }

        table.statistics th {
            background: #C6C6C6;
        }

        .col_stat_name {
            width: 40em;
        }

        .col_stat {
            width: 3em;
            text-align: center;
        }

        .stat_name {
            float: left;
        }

        .stat_name a,
        .stat_name span {
            font-weight: bold;
        }

        .tag_links {
            font-size: 0.9em;
            float: right;
            margin-top: 0.05em;
        }

        .tag_links span {
            margin-left: 0.2em;
        }

        /* Statistics Table Graph */
        .pass_bar {
            background: #00f000;
        }

        .fail_bar {
            background: red;
        }

        .no_tags_bar {
            background: #E9E9E9;
        }

        .graph {
            position: relative;
            border: 1px solid black;
            width: 11em;
            height: 0.75em;
            padding: 0px;
            background: #E9E9E9;
        }

        .graph b {
            display: block;
            position: relative;
            height: 100%;
            float: left;
            font-size: 4px;
            /* to make graphs thin also in IE */
        }

        .aw {
            font-weight: bold;
            color: #1E90FF;
        }

        .aw1 {
            font-weight: normal;
            color: #008B45;
        }

        .aw2 {
            font-weight: normal;
            color: #00CD00;
        }

        /* Tables in documentation */
        table.doc {
            border: 1px solid gray;
            background: transparent;
            border-collapse: collapse;
            empty-cells: show;
            font-size: 0.9em;
        }

        table.doc td {
            border: 1px solid gray;
            padding: 0.1em 0.3em;
            height: 1.2em;
        }

        /* Misc Styles */
        .not_available {
            color: gray;
            /* no grey in IE */
            font-weight: normal;
        }

        .parent_name {
            font-size: 0.7em;
            letter-spacing: -0.07em;
        }

        a:link,
        a:visited {
            text-decoration: none;
            color: blue;
        }

        a:hover,
        a:active {
            text-decoration: underline;
            color: purple;
        }

        /* Headers */
        .header {
            width: 58em;
            margin: 6px 0px;
        }

        h1 {
            margin: 0px;
            width: 70%;
            float: left;
        }

        .times {
            width: 29%;
            float: right;
            text-align: right;
        }

        .generated_time,
        .generated_ago {
            font-size: 0.9em;
        }

        .spacer {
            font-size: 0.8em;
            clear: both;
        }

        /* Status text colors */
        .error,
        .Failed,
        .skipped,
        .not_run,
        .Unavailable,
        .Investigated {
            color: red;
        }

        .Passed {
            color: #009900;
        }

        .warn {
            color: #FFCC00;
        }

    </style>
    <style
            media="print"
            type="text/css"
    >
        body {
            background: white;
            padding: 0px;
            font-size: 8pt;
        }

        a:link,
        a:visited {
            color: black;
        }

        .header,
        table.details,
        table.statistics {
            width: 100%;
        }

        .generated_ago,
        .expand {
            display: none;
        }

    </style>
    <style
            media="all"
            type="text/css"
    >
        /* Tables */
        body {
            background: white;
        }

        table.suite,
        table.errors {
            width: 100%;
            border: 1px solid gray;
            /* no grey in IE */
            margin: 0.2em 0em;
            padding: 0.2em;
        }

        table.errors td.level {
            font-weight: bold;
            width: 4em;
            text-align: center;
            vertical-align: top;
        }

        table.errors td.time {
            width: 10em;
            vertical-align: top;
        }

        table.test {
            width: 100%;
            border: 1px dashed gray;
            margin: 0.2em 0em;
            padding: 0.2em;
        }

        table.metadata,
        table.keyword,
        table.messages {
            margin-left: 1.1em;
            width: 100%;
        }

        table.metadata,
        table.messages {
            margin-right: 2em;
        }

        table.keyword table.metadata {
            font-size: 0.9em;
            margin-left: 1.4em;
        }

        table.messages {
            font-family: monospace;
            font-size: 1.2em;
        }

        table.metadata th {
            width: 12em;
            text-align: left;
            vertical-align: top;
        }

        table.metadata td {
            padding-left: 0.5em;
            vertical-align: top;
        }

        table.messages td {
            vertical-align: top;
        }

        table.messages td.time {
            width: 6em;
            letter-spacing: -0.05em;
        }

        table.messages td.level {
            width: 4em;
            text-align: center;
        }

        /* Folding buttons */
        div.foldingbutton {
            text-align: center;
            line-height: 0.8em;
            font-size: 0.8em;
            margin: 0.2em 0.4em 0em 0.1em;
            height: 0.9em;
            width: 0.9em;
            float: left;
            text-decoration: none;
            font-weight: bold;
            border: 1px solid black;
            border: 1px solid black;
        }

        div.foldingbutton:hover {
            background: yellow;
        }

        .expand {
            float: right;
            margin-right: 0.5em;
            font-size: 0.8em;
        }

        /* Test, suite and kw names */
        .name,
        .splitname {
            font-weight: bold;
            text-decoration: none;
        }

        a.name:hover {
            text-decoration: none;
            color: black;
        }

    </style>

    <title>OPEN_LAB_AIDE_ZOS_module_build_multiApp_HOS_API9_STAGE_002 Test Log</title>
</head>

<body>
<div>
    <h1>{{caseName}} Test Log</h1>
</div>
<div class="spacer">&nbsp;</div>
<h2>Test Execution Log</h2>
<table
        class="test"
        id="OPEN_LAB_AIDE_ZOS_module_build_multiApp_HOS_API9_STAGE_002"
>
    <td>
        <a
                class="expand"
                href="javascript:unexpand_all_children()">unexpand
            all</a>
        <a
                class="expand"
                href="javascript:expand_all_children()">expand
            all</a>
        <span class="Passed">test&nbsp;case: </span>
        <a
                class="name"
                title="OPEN_LAB_AIDE_ZOS_module_build_multiApp_HOS_API9_STAGE_002"
        >{{caseName}}</a>
    </td>
    <tr>
        <td>
            <div
                    class="indent"
                    id="1275c34c-2773-11ee-968f-f7b8b80211f0_children"
                    style="display: block"
            >
                <table class="metadata">
                    <tr>
                        <th>Full Name:</th>
                        <td>{{caseName}}</td>
                    </tr>
                    <tr>
                        <th>Description:</th>
                        <td>{{description}}</td>
                    </tr>
                    <tr>
                        <th>Start&nbsp;/&nbsp;End&nbsp;:</th>
                        <td>{{startTime}}/{{endTime}}</td>
                    </tr>

                    <tr>
                        <th>Overall Status:</th>
                        <td class="col_status error">{{taskStatus}}</td>
                    </tr>
                    <tr>
                        <th>Project Path:</th>
                        <td>{{projectPath}}</td>
                    </tr>

                </table>

                <table
                        class="test"
                        id="1275c34c-2773-11ee-968f-f7b8b80211f0.SETUP"
                >
                    {{#each results}}
                    <tr>
                        <td>
                            <div
                                    class="foldingbutton showButton"
                                    id="1275c34c-2773-11ee-968f-f7b8b80211f0.TEST_foldlink"
                                    style="display: none;">
                                +
                            </div>

                            <div
                                    class="foldingbutton hideButton"
                                    id="1275c34c-2773-11ee-968f-f7b8b80211f0.TEST_unfoldlink"
                                    style="display: block;">-
                            </div>
                            <span class="Passed">{{this.[0]}}
                                    </span>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <div
                                    class="infoIndent"
                                    style="display: block;"
                            >
                                <table class="metadata">
                                    <tr>
                                        <th>Info :</th>
                                        <td>
                                            <div class="infoDetail"> {{this.[1].stdout}}
                                            </div>

                                            <div></div>

                                            <div></div>
                                        </td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>

                    {{/each}}
                </table>
            </div>
        </td>
    </tr>
</table>

</body>
<script src="https://cdn.jsdelivr.net/npm/ansi_up@5.1.0/ansi_up.min.js">
</script>
<script type="text/javascript">
  let infoDetail = document.getElementsByClassName('infoDetail');
  for (let i = 0; i < infoDetail.length; i++) {
    var ansi_up = new AnsiUp;
    var html = ansi_up.ansi_to_html(infoDetail[i].innerText);

    infoDetail[i].innerHTML = html.replaceAll('&gt;', '</br>\>');
  }

  let showBtns = document.getElementsByClassName('showButton');
  let hideBtns = document.getElementsByClassName('hideButton');
  let infoIndents = document.getElementsByClassName('infoIndent');
  for (let i = 0; i < showBtns.length; i++) {
    showBtns[i].addEventListener('click', (e) => {
      if (showBtns[i].style.display === 'block') {
        showBtns[i].style.display = 'none';
        hideBtns[i].style.display = 'block';
        infoIndents[i].style.display = 'block';
      }
    });
    hideBtns[i].addEventListener('click', () => {
      if (showBtns[i].style.display = 'none') {
        showBtns[i].style.display = 'block';
        hideBtns[i].style.display = 'none';
        infoIndents[i].style.display = 'none';
      }
    });
  }

  function unexpandAll() {
    for (let i = 0; i < infoIndents.length; i++) {
      infoIndents[i].style.display = 'none';
      showBtns[i].style.display = 'block';
      hideBtns[i].style.display = 'none';
    }
  }

  function expandAll() {
    for (let i = 0; i < infoIndents.length; i++) {
      infoIndents[i].style.display = 'block';
      showBtns[i].style.display = 'none';
      hideBtns[i].style.display = 'block';
    }
  }

  function toggle_child_visibility(e) {
    if (document.getElementById(element_id + '_children') != null) {
      toggle_visibility(element_id + '_children');
    } else {
      toggle_visibility(element_id);
    }
    if (document.getElementById(element_id + '_foldlink') != null) {
      toggle_visibility(element_id + '_foldlink');
    }
    if (document.getElementById(element_id + '_unfoldlink') != null) {
      toggle_visibility(element_id + '_unfoldlink');
    }
  }

  function toggle_visibility(element_id) {
    var element = document.getElementById(element_id);
    if (element == null) {
      return;
    }
    if (element.style.display == 'none') {
      element.style.display = 'block';
    } else {
      element.style.display = 'none';
    }
  }

  function expand_all_failed_children(element_id) {
    var elements = document.getElementById(element_id).getElementsByTagName('div');
    for (var i = 0; i < elements.length; i++) {
      var element = elements[i];
      if (element.className == 'indent' && element.style.display == 'none' && element.result == 'Failed') {
        toggle_child_visibility(element.getAttribute('id').replace(/_children/, ''));
      }
    }
  }

  function unexpand_all_failed_children(element_id) {
    var elements = document.getElementById(element_id).getElementsByTagName('div');
    for (var i = 0; i < elements.length; i++) {
      var element = elements[i];
      if (element.className == 'indent' && element.style.display == 'block' && element.result == 'Failed') {
        toggle_child_visibility(element.getAttribute('id').replace(/_children/, ''));
      }
    }
  }


  function expand_all_children() {
    expandAll();
  }

  function unexpand_all_children() {
    unexpandAll();
  }

  function expand_all_children_statics(element_id) {
    var elements = document.getElementById(element_id).getElementsByTagName('img');
    var a_element;
    var img_element;
    for (var i = 0; i < elements.length; i++) {
      img_element = elements[i];
      var a_element = elements[i].parentNode;

      img_element.src = a_element.href;
      img_element.style.display = 'block';
    }
  }

  function hide_all_children_statics(element_id) {
    var elements = document.getElementById(element_id).getElementsByTagName('img');
    var a_element;
    var img_element;
    for (var i = 0; i < elements.length; i++) {
      img_element = elements[i];
      var a_element = elements[i].parentNode;

      img_element.src = a_element.href;
      img_element.style.display = 'none';
    }
  }

  function open_element_by_url() {
    var name = get_element_name_from_url();
    if (name != null) {
      set_element_visible(name);
      window.location.hash = name;  // does not seem to work with Opera
    }
  }

  function get_element_name_from_url() {
    var hash = window.location.hash;
    if (hash == '' || hash == '#' || hash == null) {
      return null;
    }
    return hash.slice(1).replace(/%20/g, ' ');
  }

  function set_element_visible(id_or_name) {
    var element = document.getElementById(id_or_name);
    if (element) {
      open_parents(element);
      return;
    }
    var elements = document.getElementsByName(id_or_name);
    for (var i = 0; i < elements.length; i++) {
      open_parents(elements[i]);
    }
  }

  // Find right type of parent element, open it and its parents
  function open_parents(element) {
    var parent = element.parentNode;
    if (!parent) {
      return;
    }
    // Find a parent table with id
    while (parent.nodeName != 'TABLE' || parent.getAttribute('id') == null) {
      parent = parent.parentNode;
      if (!parent) {
        return;
      }
    }
    var element_id = parent.getAttribute('id');
    if (document.getElementById(element_id + '_children').style.display == 'none') {
      toggle_child_visibility(element_id);
    }
    open_parents(parent);
  }
</script>
</html>
